Skip to main content

Details on external tools used

Fuse-zip

Used to mount a zip file as a directory

  1. Install it by

    sudo apt-get install fuse-zip
  2. Make a new directory as the mount point.

    mkdir ~/zip_mount_point
  3. Mount a directory with fuse-zip

    fuse-zip sample.zip ~/zip_mount_point
  4. Unmount the directory

    fusermount -u ~/zip_mount_point

Testing results on MSI machine

  1. Mounting a zip file and reading the content through python works fine for the mounting location is inside /home/. ( The zip files were located in Samsung T7 SSD USB drive (USB-C Gen 3))

    1. Timing: 0.21s / 1000 frames

      (compute-msi) gqc@msi-desktop-ubuntu:temp$ time fuse-zip /media/gqc/T7/delete_me_temp/dnv/WRc.zip WRc
      real 2m33.546s
      user 0m6.847s
      sys 0m23.313s
      (compute-msi) gqc@msi-desktop-ubuntu:temp$
      (compute-msi) gqc@msi-desktop-ubuntu:temp$ ls WRc/* | wc -l
      762333
  2. Issues in mounting to a directory in USB connected drives.

    1. With no sudo:
      (compute-msi) gqc@msi-desktop-ubuntu:fuse_zip_test$ fuse-zip sample_zip/sample.zip test_dir/
      fusermount: mounting over filesystem type 0x2011bab0 is forbidden
    2. With sudo, the file access permissions have an issue. sudo chmod does not make a difference. However, the files are accessible if I open it up as su. Need to find a way to fix the permissions issue
      sudo fuse-zip sample_zip/sample.zip test_dir/
      [sudo] password for gqc:
      (compute-msi) gqc@msi-desktop-ubuntu:fuse_zip_test$ ll
      ls: cannot access 'test_dir': Permission denied
      total 384
      drwxr-xr-x 4 gqc gqc 131072 Dec 27 13:18 ./
      drwxr-xr-x 5 gqc gqc 131072 Dec 27 13:14 ../
      drwxr-xr-x 2 gqc gqc 131072 Dec 27 13:18 sample_zip/
      d????????? ? ? ? ? ? test_dir/
    3. Issues with docker: When mapping a folder that has been mounted with a zip file to a docker container, the permissions issue still persists. Also we need to use the privileged flag on the container when mapping the mount folder. In general, fuse-zip does not work well with docker.